package com.iwhalecloud.citybrain.flow.platform.manager.application.service;

import java.util.List;

import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.app.FlowApp;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.tenant.FlowTenantSimpleInfoVo;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.tenant.FlowUserTenantSubmitVo;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.tenant.FlowUserTenantVo;

/**
 * @author lilh
 * @date 2020/11/23 上午11:26
 */
public interface FlowTenantService {

    /**
     * 根据租户id获取用户列表
     *
     * @param tenantId 租户id
     * @return 用户列表
     */
    List<FlowUserTenantVo> listUsersByTenantId(Integer tenantId);

    /**
     * 增加/删除租户用户
     *
     * @param flowUserTenantSubmitVo 租户用户信息
     * @return 操作结果
     */
    boolean addOrDelTenantUsers(FlowUserTenantSubmitVo flowUserTenantSubmitVo);

    /**
     * 根据租户Id和userCode获取已授权应用
     *
     * @param tenantId 租户id
     * @param userCode 用户code
     * @return 已授权应用
     */
    List<FlowApp> listAppByTenantAndUserCode(Integer tenantId, String userCode);


    /**
     * 获取租户信息
     *
     * @param tenantIds 租户id
     * @return 租户信息
     */
    List<FlowTenantSimpleInfoVo> listTenants(List<Integer> tenantIds);

}
